package com.houweishi.module.clockingcount.mapper;

import com.houweishi.module.clockingcount.domain.BizClockingCount;

import java.util.List;

/**
 * 员工打卡统计Mapper接口
 * 
 * @author houweishi
 * @date 2023-03-04
 */
public interface BizClockingCountMapper
{
    /**
     * 查询员工打卡统计
     * 
     * @param id 员工打卡统计主键
     * @return 员工打卡统计
     */
    public BizClockingCount selectBizClockingCountById(Long id);

    /**
     * 查询员工打卡统计列表
     * 
     * @param bizClockingCount 员工打卡统计
     * @return 员工打卡统计集合
     */
    public List<BizClockingCount> selectBizClockingCountList(BizClockingCount bizClockingCount);

    /**
     * 新增员工打卡统计
     * 
     * @param bizClockingCount 员工打卡统计
     * @return 结果
     */
    public int insertBizClockingCount(BizClockingCount bizClockingCount);

    /**
     * 修改员工打卡统计
     * 
     * @param bizClockingCount 员工打卡统计
     * @return 结果
     */
    public int updateBizClockingCount(BizClockingCount bizClockingCount);

    /**
     * 删除员工打卡统计
     * 
     * @param id 员工打卡统计主键
     * @return 结果
     */
    public int deleteBizClockingCountById(Long id);

    /**
     * 批量删除员工打卡统计
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBizClockingCountByIds(Long[] ids);

    /**
     * 查询员工当月打卡统计列表
     *
     * @param bizClockingCount 员工打卡统计列表
     * @return 员工打卡统计
     */
    public List<BizClockingCount> selectBizClockingCountListByMonth(BizClockingCount bizClockingCount);


    /**
     * 查询员工上月打卡统计列表
     *
     * @param bizClockingCount 员工打卡统计列表
     * @return 员工打卡统计
     */
    public List<BizClockingCount> selectBizClockingCountListByLastMonth(BizClockingCount bizClockingCount);

    /**
     * 查询员工姓名，id
     *
     * @param bizClockingCount 员工打卡统计
     * @return 员工打卡统计集合
     */
    public List<BizClockingCount> selectStaffNameList(BizClockingCount bizClockingCount);


    /**
     * 查询员工当月打卡统计列表2
     *
     * @param bizClockingCount 员工打卡统计列表
     * @return 员工打卡统计
     */
    public List<BizClockingCount> selectBizClockingCountListByMonth2(BizClockingCount bizClockingCount);

    /**
     * 批量插入
     * @param list
     */
    void insertBatchBizClockingCount(List<BizClockingCount> list);
}
